﻿using DLUProject.Domain;
using DLUProject.Services;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

public partial class Portal_Login : LoginPage
{

    public AccountExtension _accountService { get; set; }
    public IServices<AccountLog> _logService { get; set; }
    protected void Page_Load(object sender, EventArgs e)
    {
        
       
    }
    protected void Login_Click(object sender, EventArgs e)
    {
        LoginResult errorCode = LoginResult.LoginFaild;
        var model = new AccountModel { Email = Email.Text, Password = Password.Text };
        var account = _accountService.Login(model.Email, model.Password, ref  errorCode);
        switch (errorCode)
        {
            case LoginResult.Success:
                if (Request.QueryString["ReturnUrl"] == null)
                {
                    Response.Redirect(UrlHelper.PortalURL);
                }
                else
                {
                    Response.Redirect(Request.QueryString["ReturnUrl"]);
                }
                break;
            case LoginResult.LoginFaild:
                StatusBox.InnerHtml = "Sai tên đăng nhập hoặc mật khẩu.";
                break;
            case LoginResult.InvalidPassword:
                StatusBox.InnerHtml = "Sai mật khẩu. Bạn còn " + (10 - account.LoginFailedCount) + " lần đăng nhập.";
                // ghi log
                break;
            case LoginResult.NotApproved:
                StatusBox.InnerHtml = "Tài khoản chưa được kích hoạt.";

                break;
            case LoginResult.IsLockedOut:
                StatusBox.InnerHtml = "Tài khoản đang bị khóa.";
                break;
            default:
                break;
        }
        StatusBox.Attributes.Add("class", "alert alert-danger");
    }
}